The present invention relates to software distributions and more particularly to software selection and software grouping.
A common practice in business is to have software grouping for providing solutions to customers. Bundling or grouping of software components is quite a successful marketing strategy. For example, software providers typically bundle a word processor, a spreadsheet, and a database into a single office suite, rather than offer these products individually.
With the development of cloud computing, it is easier to provision software through a virtualized environment without the traditional installation and manual configuration. In cloud environments, IT solution providers offer users a variety of software components bundled together to meet their business needs. In cloud computing environments, there are multiple categories of software components that are grouped or bundled together. A first category of software components bundled together is Software as a Service (SaaS). Software components are bundled together under SaaS to meet specific requirements of users, with such bundles typically hiding the underlying infrastructure from the end-users. A second category of software components bundled together is the images themselves used to build the virtualized environment. A third category of software components bundled together is the middleware bundles which can be composed into any images to pre-build the software stacks for SaaS.
Providing each of these categories of bundled software components to meet user requirements has resulted in a large proliferation of custom software bundles. This proliferation of customized software bundles is costly. Each custom software bundle or custom software image must be created, configured, tested, and maintained though upgrade and software maintenance practices such as installing software patches. Accordingly, a need exists to easily select and create software bundles.